﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BGCOP.CAVTOP.COMMON;
using BGCOP.CAVTOP.BUSINESSLAYER;

namespace BGCOP.CAVTOP.WINFORMS
{
    public partial class frmEstadosEmpleado : Form
    {
        public Utilitys ut = new Utilitys();
        private LogCls logF = new LogCls();

        public frmEstadosEmpleado()
        {
            InitializeComponent();
        }

        private void frmEstadosEmpleado_Load(object sender, EventArgs e)
        {
            EstadosEmpleado tmp = new EstadosEmpleado();
            listBox1.DataSource = tmp.ListarTodos();
            listBox1.DisplayMember = "NombreEstado";
            listBox1.ValueMember = "idTipoEstado";
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnAgregar_Click(object sender, EventArgs e)
        {
            txtNombreEstado.Focus();
            listBox1.SelectedIndex = -1;
            txtNombreEstado.Text = "";

        }

        private void btnEliminar_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex >= 0)
            {
                EstadosEmpleado tmp = new EstadosEmpleado();
                if (MessageBox.Show("Desea eliminar el registro seleccionado?", Properties.Settings.Default.Titulo,
                MessageBoxButtons.YesNoCancel) == DialogResult.Yes)
                {
                    tmp.EliminarEstado(Convert.ToInt32(listBox1.SelectedValue));
                    MessageBox.Show("El registro se elimino con exito!", Properties.Settings.Default.Titulo
                        , MessageBoxButtons.OK);
                    listBox1.DataSource = tmp.ListarTodos();
                    listBox1.DisplayMember = "NombreEstado";
                    listBox1.ValueMember = "idTipoEstado";
                }

            }
        }

        private void btnModificar_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex == -1)
            {
                //es un nuevo registro
                TEstado tmp = new TEstado();
                tmp.NombreEstado  = txtNombreEstado.Text;
                tmp.fechaUltimaGestion = DateTime.Now;
                tmp.usuarioUltimaGestion = (int?)BGCOP.CAVTOP.WINFORMS.Program.idUsuarioActual;
                EstadosEmpleado mm = new EstadosEmpleado();
                mm.AgregarEstado(tmp);
                MessageBox.Show("El registro se agrego con exito!", Properties.Settings.Default.Titulo
                    , MessageBoxButtons.OK);
                listBox1.DataSource = mm.ListarTodos();
                listBox1.DisplayMember = "NombreEstado";
                listBox1.ValueMember = "idTipoEstado";
            }
            else
            {
                //es un registro existente
                TEstado tmp = new TEstado();
                tmp.NombreEstado = txtNombreEstado.Text;
                tmp.fechaUltimaGestion = DateTime.Now;
                tmp.usuarioUltimaGestion = (int?)BGCOP.CAVTOP.WINFORMS.Program.idUsuarioActual;
                EstadosEmpleado mm = new EstadosEmpleado();
                mm.ModificarEstado(Convert.ToInt32(listBox1.SelectedValue), tmp);
                MessageBox.Show("El registro se modificó con exito!", Properties.Settings.Default.Titulo
                   , MessageBoxButtons.OK);
                listBox1.DataSource = mm.ListarTodos();
                listBox1.DisplayMember = "NombreEstado";
                listBox1.ValueMember = "idTipoEstado";

            }
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex == -1)
            {
                return;
            }
            TEstado  tmp = (TEstado)listBox1.SelectedItem;
            txtNombreEstado.Text = tmp.NombreEstado; 
        }
    
    
    }
}
